<?php
class BaseTeste
{
    public $resultados = '';
    
    public $orgaoid = 26;
    public $empresaid = 11;
    public $nucleogestorid = 25;
    
    //TODO: Pegar o usuário dinâmicamente
    public function getUsuarioNucleoCentral()
    {
        //Usuário: BrunoGab
        return new Operador(126);
        //return new Operador(83); //GILNC
    }
    
    public function getUsuarioNucleoGestor()
    {
        // Núcleo da AMC
        return new Operador(44);
        //return new Operador(84); //GILNGAMCBM
    }
    
    public function getUsuarioOrgao()
    {
        //orgaocepel
        return new Operador(66);
        //return new Operador(81); //GILORGAMC
    }
    
    public function getUsuarioTerceirizada()
    {
        //brunoemp
        return new Operador(102);
        //return new Operador(82); //GILEMP
    }
    
    public function carregarUsuario($usuario)
    {
        global $usuario, $pfcid;
        
        $pfcid = $usuario->getPerfil()->perfilcomportamentalid;

        $_SESSION['usuario'] = $usuario;
        $permissao = new Permissao();
		$_SESSION["permissoes"] = pg_fetch_all( $permissao->listar( array ( 'campo' => 'perfilid', 'operador' => '=', 'valor' => $usuario->perfilid ) ) );
    }
    
    public function logarNucleoCentral()
    {
        global $usuario, $pfcid;
        
        $usuario = $this->getUsuarioNucleoCentral();
        $this->carregarUsuario($usuario);
    }
    
    public function logarNucleoGestor()
    {
        global $usuario, $pfcid;
        
        $usuario = $this->getUsuarioNucleoGestor();
        $this->carregarUsuario($usuario);
    }
    
    public function logarOrgao()
    {
        global $usuario, $pfcid;
        
        $usuario = $this->getUsuarioOrgao();
        $this->carregarUsuario($usuario);
    }
    
    public function logarTerceirizada()
    {
        global $usuario, $pfcid;
        
        $usuario = $this->getUsuarioTerceirizada();
        $this->carregarUsuario($usuario);
    }
    
    public function testar($caso)
    {
        switch ($caso) {
            case 1:
                return $this->testarCaso1();
                break;
        }
    }
}
?>